9.3.2. Dizi Üzerinde Çevrimsel Kuyruk

Bu çözüm şeklinde dizi elemanlarına erişim doğrusal değil de çevrimsel yapılır; yani dizinin son elemanına ulaşıldığında bir sonraki göz dizinin ilk elemanı olacak şekilde indis değeri hesaplanır. Böylece kuyruk için tanımlanan dizi üzerinde sanki bir halka bellek varmış gibi dolaşılır. Kuyruktaki sıradaki eleman alındığında bu işaretçinin değeri bir sonraki gözü gösterecek biçimde arttırılır. Arttırma işleminin de, dizinin sonuna gelindiğinde başına gidecek biçimde çevrimsel olması sağlanır. Aşağıda dizi üzerinde çevrimsel kuyruk modeli için ekleme ve çıkartma işlemleri kaba-kodları verilmiştir:

Yukarıda görüldüğü gibi ilk önce ekleme yapılması için kuyrukta yer olup olmadığına bakılmakta, yer varsa son adlı ekleme sayacı çevrimsel erişime imkan verecek şekilde arttırılmakta ve işaret ettiği yere veri koyulmaktadır. Aşağıda ise alma işlemi kaba kodu verilmiştir. Görüleceği gibi ilk önce kuyrukta veri olup olmadığı sınanmakta ve veri varsa ilk adlı işaretçinin gösterdiği gözdeki veri alınıyor, ilk adlı işaretçi çevrimsel olarak sıradaki veriyi gösterecek şekilde ayarlanıyor ve veri gönderiliyor.